package CONTABILIDAD_MODELO;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class CON_CARGO_CUENTA 
{
    private Double ID_CARGO;
    private Double ID_CUENTA;
    private Conexion con = null;

    public CON_CARGO_CUENTA() {
    }

    public CON_CARGO_CUENTA(Double ID_CARGO, Double ID_CUENTA) {
        this.ID_CARGO = ID_CARGO;
        this.ID_CUENTA = ID_CUENTA;
    }

    public boolean Insertar() throws SQLException {
        String consulta = "insert into BROKER.CON_CARGO_CUENTA(ID_CARGO, ID_CUENTA) VALUES (" + ID_CARGO + "," + ID_CUENTA + ")";
        con.EjecutarSentencia(consulta);
        return true;
    }

    public boolean EliminarXid() throws SQLException {
        String consulta = "delete from BROKER.CON_CARGO_CUENTA where ID_CARGO= " + getID_CARGO()+" and ID_CUENTA = "+getID_CUENTA();
        con.EjecutarSentencia(consulta);
        return true;
    }
    
    public CON_CARGO_CUENTA Buscar() throws SQLException {
        String consulta = "delete from BROKER.CON_CARGO_CUENTA where ID_CARGO= " + getID_CARGO()+" and ID_CUENTA = "+getID_CUENTA();
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<CON_CARGO_CUENTA> lista = Cargar(rs);
        if(lista.size()>0)
            return lista.get(0);
        else
            return null;
    }

    public List<CON_CARGO_CUENTA> Todos() throws SQLException {
        String consulta = "select * from BROKER.CON_CARGO_CUENTA";
        ResultSet rs = con.EjecutarConsulta(consulta);
        return Cargar(rs);
    }
    
    public List<CON_CARGO_CUENTA> TodosxCargo(double id_cargo) throws SQLException {
        String consulta = "select * from BROKER.CON_CARGO_CUENTA where ID_CARGO = "+id_cargo;
        ResultSet rs = con.EjecutarConsulta(consulta);
        return Cargar(rs);
    }

    public List<CON_CARGO_CUENTA> Cargar(ResultSet rs) throws SQLException {
        List<CON_CARGO_CUENTA> lista = new ArrayList<CON_CARGO_CUENTA>();
        while (rs.next()) 
        {
            CON_CARGO_CUENTA objeto = new CON_CARGO_CUENTA();
            objeto.setID_CARGO(rs.getDouble("ID_CARGO"));
            objeto.setID_CUENTA(rs.getDouble("ID_CUENTA"));
            objeto.setCon(con);
            lista.add(objeto);
        }
        return lista;
    }

    public double getID_CARGO() {
        return ID_CARGO;
    }

    public void setID_CARGO(double ID_CARGO) {
        this.ID_CARGO = ID_CARGO;
    }

    public double getID_CUENTA() {
        return ID_CUENTA;
    }

    public void setID_CUENTA(double ID_CUENTA) {
        this.ID_CUENTA = ID_CUENTA;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}